import { http, toast} from '@/node_modules/uview-plus'
import { useUserStore } from '@/stores/user.js'
	import {
		useTokenStore
	} from '@/stores/token.js';
// import { tokenStore } from '@/stores/token.js'
const requestInterceptors=(vm)=>{
	const user = useUserStore();
	const tokenStore = useTokenStore();
	
	/**
	 * 请求拦截
	 * @param {Object} http
	 */
	http.interceptors.request.use((config) => { // 可使用async await 做异步操作
		// 初始化请求拦截器时，会执行此方法，此时data为undefined，赋予默认{}
		config.header['Authorization'] =tokenStore.token
		config.data = config.data || {};
		// console.log(config)
		return config
	}, (config) => // 可使用async await 做异步操作
		Promise.reject(config))
}
const responseInterceptors=(vm)=>{
	/**
	 * 响应拦截
	 * @param {Object} http 
	 */
	http.interceptors.response.use((response) => { /* 对响应成功做点什么 可使用async await 做异步操作*/
		const data = response.data
		// console.log('http', data)
		// 自定义参数
		// const custom = response.config?.custom
		// if (custom.toast !== false) {
		// 	toast(data.message)
		// }
		// // 如果需要catch返回，则进行reject
		// if (custom?.catch) {
		// 	return Promise.reject(data)
		// } else {
		// 	// 否则返回一个pending中的promise
		// 	return new Promise(() => { })
		// }
		return data || {}
	}, (response) => { /*  对响应错误做点什么 （statusCode !== 200）*/
		return Promise.reject(response)
	})
}


export {
	requestInterceptors,
	responseInterceptors
}

